1. Field of the Invention
The present invention relates to a data forwarding controller, communication terminal apparatus, data communication system and method, and computer program, and more particularly to a data forwarding controller, communication terminal apparatus, data communication system and method, and computer program that are capable of implementing uninterrupted communication even when a mobile communication terminal (mobile node) moves between access points.
2. Description of Related Art
Data forwarding is actively performed using various networks. Data communication is carried out among diverse information processing equipment and communication equipment, such as PCs, workstations, PDAs (Personal Digital Assistants), and portable terminals, through their networking. For example, a suite of protocols TCP/IP (Transmission Control Protocol/Internet Protocol) is among typical protocols implementing their networking and communication. The TCP/IP protocol can identify a communication terminal on a network using an IP address, which is a logical address. Also, a MAC (Media Access Control) address (Ethernet address) that identifies each information processing apparatus or communication terminal itself ensures the uniqueness of each information processing apparatus within a network, permitting communication of data packets (or frames) over the network among terminals.
The MAC address, administered by IEEE (The Institute of Electrical and Electronics Engineers, Inc.), consists of a total of 6 bytes, 3 bytes of which are allocated to a hardware manufacturer and 3 bytes to an apparatus, and is set as an address specific to the apparatus.
A switch (an Ethernet switch or a LAN switch) is used as an apparatus that relays data forwarding via a network by reference to MAC addresses. The switch performs processing corresponding to a data link layer of the OSI (Open Systems Interconnection) reference model to identify a MAC address as a destination address for packets and relays the packets to that MAC address.
A hub used conventionally as a relay apparatus performs processing at a physical layer level of the OSI reference model for transmission of packets to all nodes connected thereto, whereas the switch identifies a MAC address to relay packets only to the destination MAC address as mentioned above, whereby the switch can reduce traffic of packets in the network and implements efficient packet relaying.
Unlike the hub that constantly floods received packets, for example, ethernet frames to all ports, the switch is arranged, through its associating a source MAC address of received packets with a receiving port (i.e., through its learning), to thereafter forward the packets only to the associated port when receiving the packets addressed to that MAC address. A set of entries each associating a MAC address with an (output) port is called a MAC learning table. This MAC learning table allows received packets to be forwarded only to a minimum number of ports, whereby the switch can accomplish a higher throughput than the hub. Note that when receiving packets addressed to a MAC address not registered in the MAC learning table, the switch floods the packets to all ports like the hub.
In addition, the switch manages entries in its MAC learning table usually in soft state. As to an entry associating a port with a MAC address, unless the switch receives an ethernet frame having the same MAC address as a source address from the same port as the associated port for a predetermined time (usually, 5 minutes) or more, it will delete that entry. Furthermore, if received from a port different from the associated port, the switch changes the output port associated with the MAC address immediately. In other words, when the switch registers an entry as to a MAC address in its MAC learning table, unless a node having that MAC address sends a packet to the switch explicitly, the switch does not delete that entry as to the MAC address, from its MAC learning table until a predetermined time elapses.
Such behavior of the switch would impose a serious problem when a terminal transmitting and receiving packets moves, i.e., upon a mobile node. For example, let it be assumed that a mobile node moves between access points downlinked from a switch (i.e., performs handover). In the interest of brevity, an IP subnet is supposed to remain unchanged even if the mobile node moves between these access points.
In a situation, first, the mobile node connects to one of the access points to communicate with a node on the Internet, and as a result, the switch creates an entry as to the MAC address of that mobile node in its MAC learning table. Under this situation, when the mobile node moves to the other access point, the registered entry as to the MAC address of the mobile node still resides in the MAC leaning table of the switch; i.e., that entry is not deleted only by the mobile node having merely performed handover. Thus, when the switch receives data packets addressed to the mobile node, the switch erroneously forwards the data packets to the access point to which the mobile node was connected before its movement (until the switch deletes the entry as to the MAC address of that mobile node after the passage of a predetermined time).
In another situation where the mobile node is receiving streaming video before a handover (the mobile node is only receiving, not transmitting data) and wishes to continuously receive the streaming video after the handover, an entry as to the mobile node in the MAC learning table of the switch still remains as having the MAC address of the mobile node associated with the port to which the access point before the movement is connected. Thus, the Ethernet switch forwards data packets of the streaming video to the access point before the movement according to the erroneous old entry (until the switch deletes that old entry after the passage of a predetermined time).
The above-mentioned communication error problem over a mobile node moving from one access point to another is caused by the fact that the old entry before the movement remains undeleted in the switch from which the access point before the movement is downlinked. This problem can be solved to some extent if the mobile node sends some sort of movement notification message to the Ethernet switch immediately after a handover. A configuration of this message-sending scheme is disclosed in Japanese Patent Application Publication No. 2000-341339 as related art.
In the scheme disclosed in Japanese Patent Application Publication No. 2000-341339, a mobile node broadcasts a special Address Resolution Protocol (ARP as defined in RFC826) packet, thereby causing an uplinked switch (an Ethernet switch) to update an entry as to the mobile node in its MAC learning table.
This scheme proposed in Japanese Patent Application Publication No. 2000-341339 enables the switch as the packet relay apparatus to keep the entry as to the MAC address of the mobile node updated, even when the mobile node moves (i.e., performs handover) between the access points downlinked from the switch.
However, this scheme disclosed in JP2000-341339A could not support sufficiently high-speed handovers, because this scheme requires that: the node broadcast an ARP packet after its movement; access points forward the broadcast packet; the switch receive the forwarded packet; and the switch then update its MAC learning table based on the ARP packet. These plurality of processes must also be sequentially performed. Thus, during these processes, the switch leaves the entry as to the MAC address of the mobile node unupdated, thereby resulting in the switch forwarding its received data packets addressed to the mobile node to the old access point to which the mobile node was connected before its movement.